var YesOrNo = [{ id:1, text:"是"}, { id:0, text:"否"}];
var Activates = [{ id:1, text:"激活"}, { id:0, text:"禁用"}];

/**
 * 弹出模态窗口，内部通过iframe引入相关页面
 * @param _id
 * @param _title
 * @param _href
 * @param _width 窗口宽度，如果不指定，则默认为860px
 * @param _height 窗口高度，如果不指定，则默认为540px
 * @param _okCallback 点击确认之后的回调函数
 * @returns
 */
function lhgdialog_frame(_id, _title, _href, _width, _height, _okCallback){
	var currentWidth = "860px"; 
	var currentHeight = "430px";
	var okCallback = function(){
		this.reload();
	}
	if(_width){
		currentWidth = _width;
	}if(_height){
		currentHeight = _height;
	}if(_okCallback){
		okCallback = _okCallback;
	}
	var api = $.dialog({
		id: _id,
		title: _title,
		width: currentWidth,
		height: currentHeight,
		content: "url:"+_href,
		ok: okCallback
	});
	return api;
}

/**
 * 弹出模态窗口，显示的内容通过_content参数传入
 * @param _id
 * @param _title
 * @param _content
 * @returns
 */
function lhgdialog_content(_id, _title, _content){
	var api = $.dialog({
		id: _id,
		title: _title,
		content: _content
	});
	return api;
}

/**
 * 平台封装好的Jquery异步提交，默认使用post方式提交，其中定义了统一的请求失败时被调用的函数error
 * @param _url 提交的地址
 * @param _params 传入参数，格式为：{参数名:参数值}
 * @param _successCallback 请求成功的回调函数，方法入参：data, textStatus，示例：function(data, textStatus)
 * @param _async 是否异步加载，(默认: true) 默认设置下，所有请求均为异步请求
 */
function rp_ajax(_url, _params, _successCallback, _async){
	var successCallback = function(data, textStatus){};
	if(_successCallback){
		successCallback = _successCallback;
	}
	var params = {};
	if(_params){
		params = _params
	}
	$.ajax({
		type: "post",
		url: _url,
		data: params,
		async: _async,
		success: successCallback,
		error: function(XMLHttpRequest, textStatus, errorThrown){
			var status = XMLHttpRequest.status;
			if(status == "500"){
				mini.alert("错误状态码："+status+"，系统后台出现异常！");
			}else if(status == "403"){
				mini.alert("错误状态码："+status+"，您不具有此操作权限！");
			}else{
				mini.alert("处理异常，错误原因不明，错误状态码："+status);
			}
			//lhgdialog_content("error", "操作失败", XMLHttpRequest.responseText);
			//mini.alert("操作失败，后台处理错误！");
		}
	});
}

/**
 * 平台封装的编码器，将数据编码成JSON格式，内部调用的是miniui的encode方法并传入第二个日期格式化的参数
 * 以解决编码之后中日期带有T的情况
 * @param _data
 */
function rp_encode(_data){
	return mini.encode(_data, "yyyy-MM-dd HH:mm:ss");
}

/**
 * 格式化日期
 * @param _obj
 * @param _format 参数对应格式	1：yyyy-MM-dd HH:mm；2：yyyy-MM-dd
 * @returns {String}
 */
function formatDate(_obj, _format){
	var myDate = new Date(_obj);
	var year = myDate.getFullYear();
	var month = ("0" + (myDate.getMonth() + 1)).slice(-2);  
    var day = ("0" + myDate.getDate()).slice(-2);  
    var h = ("0" + myDate.getHours()).slice(-2);  
    var m = ("0" + myDate.getMinutes()).slice(-2);  
    var s = ("0" + myDate.getSeconds()).slice(-2);
    
    if(_format){
    	if(_format == 1) return year + "-" + month + "-" + day + " " + h + ":" + m;
    	if(_format == 2) return year + "-" + month + "-" + day
    }
    
    return year + "-" + month + "-" + day + " " + h + ":" + m;
}

/**
 * MiniUI：日期渲染器1，渲染格式：yyyy-MM-dd HH:mm
 * @param e
 * @returns
 */
function onDateRenderer(e){
	var value = e.value;
    if (value) return formatDate(value, 1);
    return "";
}

/**
 * MiniUI：日期渲染器2，渲染格式：yyyy-MM-dd
 * @param e
 * @returns
 */
function onDateRenderer2(e){
	var value = e.value;
    if (value) return formatDate(value, 2);
    return "";
}

/**
 * 获取当前日期，返回格式：YYYY年MM月DD日
 * @returns {String}
 */
function getCurrentDate(){ 
	var d = new Date();
	var str=''; 
	str +=d.getFullYear()+'年'; //获取当前年份 
	str +=d.getMonth()+1+'月'; //获取当前月份（0——11） 
	str +=d.getDate()+'日';
	return str; 
} 

/**
 * 获取星期
 * @returns
 */
function getWeek(){
	var d = new Date();
	var date = d.getMonth()+1+"/"+d.getDate()+"/"+d.getFullYear();
	
	var day = new Date(Date.parse(date)); 
	var today = new Array('星期日','星期一','星期二','星期三','星期四','星期五','星期六');  
	var week = today[day.getDay()];
	return week;
}

/**
 * 是或否渲染器
 * @param e
 * @returns {String}
 */
function onYesOrNoRenderer(e){
	var value = e.value;
	if(value){
		if(value == "1") {
			return "<span style='color: green;'>是</span>"
		}
		return "<span style='color: red;'>否</span>";
	}
	return "";
}

/**
 * 已激活或未激活渲染器
 * @param e
 * @returns {String}
 */
function onEnabledRenderer(e){
	var value = e.value;
	if(value){
		if(value == "1") {
			return "<span style='color: green;'>已激活</span>"
		}
		return "<span style='color: red;'>未激活</span>";
	}
	return "";
}

/**
 * 打开帮助文档窗口
 * @param _id 对应文章的ID
 */
function openHelpWindow(_id){
	mini.open({
		url: "rp/infopub/articleMng/showHelpArticle?articleId="+_id,
		title: "帮助文档",
		width: 800,
		height: 480,
		onload: function () {
        	
      	}
	});
}

/**
 * 获取指定PreName的参数值
 * @param _preName 需要获取的参数名
 * @param _presArr 参数数组
 */
function getPreValue(_preName, _presArr){
	//var presArr = JSON.parse(_presArr);
	for(var i=0; i<_presArr.length; i++){
		if(_presArr[i].preName === _preName){
			return _presArr[i].preValue;
		}
	}
}

/**
 * 扩展窗口外部方法，让dialog窗口支持动画
 */
$.dialog.notice = function( options )
{
    var opts = options || {},
        api, aConfig, hide, wrap, top,
        duration = opts.duration || 800;
        
    var config = {
        id: 'Notice',
        left: '100%',
        top: '100%',
        fixed: true,
        drag: false,
        resize: false,
        init: function(here){
            api = this;
            aConfig = api.config;
            wrap = api.DOM.wrap;
            top = parseInt(wrap[0].style.top);
            hide = top + wrap[0].offsetHeight;
                        
            wrap.css('top', hide + 'px')
            .animate({top: top + 'px'}, duration, function(){
                opts.init && opts.init.call(api, here);
            });
        },
        close: function(here){
            wrap.animate({top: hide + 'px'}, duration, function(){
                opts.close && opts.close.call(this, here);
                aConfig.close = $.noop;
                api.close();
            });
                        
            return false;
        }
    };
        
    for(var i in opts)
    {
        if( config[i] === undefined ) config[i] = opts[i];
    }
        
    return $.dialog( config );
};

